home *** CD-ROM | disk | FTP | other *** search
/ Amiga Developer CD 2.1 / Amiga Developer CD v2.1.iso / NDK / NDK_1.3 / Read-Me1.3 / 1.2ReadMes / libraries / graphics < prev    next >
Encoding:
Text File  |  1988-02-11  |  10.5 KB  |  295 lines

  1. ********
  2. Graphics
  3. ********
  4.  
  5. Changes
  6. =======
  7. Fixed ScrollLayer: it now recomputes the cliprects used to draw into the 
  8.    superbitmap when ScrollLayer is called.
  9.  
  10. XorRectRegion now works. 
  11.  
  12. NotRegion removed from graphics. It never did anything useful anyway
  13. except blow up if you called it with correct parameters. You can
  14. emulate different forms of what you think NotRegion was supposed to
  15. do with XorRectRegion.
  16.  
  17. Changes to support different standard screen sizes:
  18.    Programmers should get the normal display dimensions of a screen
  19.    from GfxBase->NormalDisplayRows and GfxBase->NormalDisplayColumns. 
  20.    For NTSC the height is currently set to 200 at power up and to 256
  21.    for PAL at power up. It is intended that user preferences can make
  22.    additional changes to these variables.
  23.    Support for overscan displays is still being worked on.
  24.  
  25. New values in GfxBase for the maximum ViewPort row/column:
  26.    Programmers should get these maximum values from 
  27.    GfxBase->MaxDisplayRows and GfxBase->MaxDisplayColumns. 
  28.  
  29. NTSC software on PAL machine: 
  30.     Screens of 200 lines on a PAL display of 256 will appear at the position
  31.     requested.
  32.     Screens are no longer bound to the bottom of the Display, but may be moved
  33.     about freely. However there is no data displayed below the topmost screen.
  34.     (This was also true in the previous release).
  35.  
  36.    Usage of the NTSC/PAL bits in GfxBase are encouraged however.
  37.    Those bits will be set correctly based on 262/312 lines per frame. 
  38.  
  39. AreaEnd(): now returns 0 if no error occured.
  40.  
  41. Slightly retouched fonts: better looking now. Added Topaz11 for use with
  42.    interlaced WB.
  43.  
  44. Graphics added some new functions: 
  45.    DrawEllipse, DrawCircle, AreaEllipse, AreaCircle
  46.  
  47.    Circle is just a macro that uses Ellipse.
  48.    AreaCircle is just a macro that uses AreaEllipse.
  49.  
  50.    Ellipse takes a center and 2 radii.
  51.    Circle takes a center and a radius.
  52.  
  53.    fixed ellipses of height > 255 now displayed correctly.
  54.    downcode of _draw_ellipse to assembly...  faster, smaller (much smaller!)
  55.  
  56. Copper List: fix to genlock bad data-fetch on short-frame fields...
  57.       also fixes DPaint hires bad data-fetch on short-frame fields
  58.       (screen dragging dpaint no longer displays garbage at the top
  59.       of frame).
  60.  
  61. Copper list generation addition:
  62.    If interlaced view, and interrupts go away for some reason,
  63.    the copperlists will ping pong back and forth themselves.
  64.  
  65. MrgCop now about 20% faster. Hope that helps. Depends on instruction
  66.    mix and number of actual copper lists involved.
  67.  
  68. Better handling of SimpleRefreshLayer when moving layers.
  69.  
  70. CreateUpfront(BehindLayer) fixed:
  71.  It now creates the layer on top of all other backdrop layers as it should.
  72.  
  73. XorRectRegion really installed for good now.
  74.  
  75. WritePixel(): now waits for the blitter to complete between each of the blits.
  76.    Consequently it is a little slower now.
  77.  
  78. Gel code: streamlining, downcoding, overhead reduction.
  79.    Gel code, faster, tighter. Expect about a 15% improvement in speed.
  80.         
  81. ScrollRaster(): now correctly uses WriteMask when clearing out vacated area.
  82.  
  83. More New graphics functions:
  84.    AndRegionRegion,XorRegionRegion,ClearRectRegion. See the graphics.doc
  85.  
  86. Sprites:  movement now restricted to not go above hardware limitations.
  87.         This means that the absolute starting position of a Sprite   
  88.         must not occur before line 20.
  89.  
  90. gfxbase.h change see the include file
  91.    name change from DPI->DPM
  92.    The meaning to ascribe to this value is DotsPerMeterX/Y.
  93.    Use these values to calculate display aspect ratio. 
  94.    These numbers will be different between NTSC and PAL.
  95.  
  96.       scrollraster of simple_refresh layers scrolls appropriate
  97.           existing damage region.
  98.  
  99. graphics.doc updated on the server to reflect change to BltTemplate 
  100. documentation.  clarification note added on input arguments to BltTemplate.
  101.  
  102.  
  103. New graphics function: AttemptLockLayerRom().
  104.  Try to obtain a layer lock, but do not block if attempt was unsuccesful.
  105.  Return a boolean value to indicate sucess or failure in obtaining the lock.
  106.  
  107. fixed Text(): clips properly in superbitmap layers
  108.  
  109.    Text() no longer trashes register d7.
  110.    Improved speed of Text()  9%-50% faster for (1char-64char) strings.
  111.  
  112. Overscan Color: fixed to match top viewport as long as it has a colormap.
  113.    Color routines also let the bottom color wrap around if the topmost 
  114.    viewport has no colormap ( like Electronic Art's Dpaint program).
  115.  
  116. DoCollision(): fixed for better "bob to bob" collision detections.
  117.  
  118. Draw(): patterned linedraw in superbitmap layer works now, as long as layer
  119.    is not being scrolled.  Didn't correctly draw the pattern under V1.1
  120.  
  121. RectFill() with areaoutline now handles outline better in complement mode.
  122.  
  123.    Update of graphics.doc to reflect that RectFill() still has a bug
  124.    in COMPLEMENT mode... complements all bit-planes rather than only
  125.    those planes in which the foreground pen is non-zero).
  126.  
  127.    THIS WILL NOT be fixed for compatibility reasons with respect to
  128.    some V1.1  software.
  129.  
  130. MoveSprite(): fixed an obscure bug in movesprite(vp,s,x,y)...
  131.          if vp != NULL sprite now follows vp->DyOffset properly.
  132.  
  133.  
  134. IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT
  135.  
  136.    MoveSprite() has been changed to make it compatible with the 1.1
  137.    version (previous BETA releases of MoveSprite positioned sprite
  138.    correctly instead of off by 1 in x).
  139.    When using the V1.2 RELEASE version of the software, sprites ONCE AGAIN 
  140.    appear one pixel to the left of the position you specify.  
  141.  
  142.    If you've written code that works with previous 1.2 BETA versions of 
  143.    MoveSprite(), YOUR CODE MUST BE CHANGED for the sprites to appear in 
  144.    the same position.
  145.  
  146. IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT IMPORTANT
  147.  
  148. Floodfill once again works properly (previous optimisations had neglected
  149.    some cusp cases).
  150.    Faster flood fill, should be up to twice as fast.
  151.  
  152. New routineSetRGB4CM(cm,i,r,g,b)
  153.   similar to SetRGB4() except this routine takes a ColorMap
  154.   as a parameter instead of ViewPort.
  155.   Note: to you guys that assume you can just play around with the
  156.   ColorTable ptr in ColorMap, What happens if we go to a 5bit
  157.   per color colormap. Have you just programmed yourself into a corner?
  158.  
  159. FreeSprite(): Fixed bug which failed to turn the sprite off when freed.
  160.  
  161. Fix to BltPattern() with areafill and mask
  162. no longer leaves garbage bits on left of blit.
  163. User may still need to adjust mask for some blits.
  164.  
  165. gfxbase.h:
  166.     struct SimpleSprite(s) ** SimpleSprites;
  167.     removed the "s" in the declaration above...
  168.  
  169. Patterned lines through layers maintain proper linpatcnt when
  170. drawing into hidden cliprects.
  171.  
  172. Ellipse optimization saves four bytes and is faster.
  173.  
  174. Graphics no longer reads from "write-only" registers at power-up.
  175.  
  176. *****************************
  177. New graphics/layers functions
  178. ******************************
  179.  
  180. graphics/AttemptLockLayerRom
  181. ============================
  182.    New for V1.2:
  183.       Attempt to obtain a lock on a layer. 
  184.       Do not block if lock cannot be obtained.
  185.       Return result of attempt to caller.
  186.       See graphics.doc for more details.
  187.  
  188. graphics/DrawCircle
  189. ===================
  190.    New for V1.2:
  191.       Macro definition - calls DrawEllipse with a centerpoint 
  192.       and radii to create a circular outine in a rastport using
  193.       the current pen color, at the specified position.
  194.       Clip result if layered rastport.
  195.       See graphics/gfxmacros.h for macro definition.
  196.  
  197. graphics/DrawEllipse
  198. ====================
  199.    New for V1.2:
  200.       Draw an elliptical outline into a rastport using
  201.       the current pen color, at the specified position.
  202.       Clip if layered rastport.
  203.       See graphics.doc for more details.
  204.  
  205. graphics/AreaCircle
  206. ===================
  207.    New for V1.2:
  208.       Macro definition - calls AreaEllipse with a centerpoint and
  209.       radii to create a filled circle in a rastport using
  210.       current pattern, drawmode, and pen colors.
  211.       User must have initialized valid TmpRas & AreaInfo structures.
  212.       This routine may be integrated with calls to other AreaFill
  213.       routines (e.g. AreaMove, AreaDraw, AreaEnd).
  214.       See graphics/gfxmacros.h for macro definition.
  215.  
  216. graphics/AreaEllipse
  217. ====================
  218.    New for V1.2:
  219.       AreaFill an ellipse in the specified rastport using current
  220.       pattern, drawmode, and pen colors.
  221.       User must have initialized valid TmpRas & AreaInfo structures.
  222.       This routine may be integrated with calls to other AreaFill
  223.       routines (e.g. AreaMove, AreaDraw, AreaEnd).
  224.       See graphics.doc for more details.
  225.  
  226. graphics/ClearRectRegion
  227. ========================
  228.    New for V1.2:
  229.       Region Manipulation - Clip away any portion of the region
  230.       that exists inside of the rectangle. 
  231.       Leave the result in region.
  232.       Return code for success/failure to calling program.
  233.       See graphics.doc for more details.
  234.  
  235. graphics/OrRegionRegion
  236. =======================
  237.    New for V1.2:
  238.       Region Manipulation - 
  239.                    Perform the logical inclusive OR of two regions.
  240.       Return code for success/failure to calling program.
  241.       Leave the result in the second region.
  242.       See graphics.doc for more details.
  243.  
  244. graphics/XorRegionRegion
  245. ========================
  246.    New for V1.2:
  247.       Region Manipulation - 
  248.                    Perform the logical exclusive OR of two regions.
  249.       Leave the result in the second region.
  250.       Return code for success/failure to calling program.
  251.       See graphics.doc for more details.
  252.  
  253. graphics/AndRegionRegion
  254. ========================
  255.    New for V1.2:
  256.       Region Manipulation - Perform the logical AND of two regions.
  257.       Leave the result in the second region.
  258.       Return code for success/failure to calling program.
  259.       See graphics.doc for more details.
  260.  
  261. graphics/SetRGB4CM
  262. ==================
  263.    New for V1.2:
  264.       Set one color register for a ColorMap structure.
  265.       This function can be used to set up a ColorMap before before
  266.       linking it into a viewport.
  267.       See graphics.doc for more details.
  268.  
  269. graphics/BltBitMapRastPort
  270. ==========================
  271.    New for V1.2:
  272.       Blit from source bitmap to destination rastport
  273.       using specified minterm.
  274.       Clip result if layered rastport.
  275.       See graphics.doc for more details.
  276.  
  277. graphics/BltMaskBitMapRastPort
  278. ==============================
  279.    New for V1.2:
  280.       Blit from source bitmap to destination rastport
  281.       with masking of source image.
  282.       Clip result if layered rastport.
  283.       See graphics.doc for more details.
  284.  
  285. layers/InstallClipRegion
  286. ========================
  287.    New for V1.2:
  288.       Installs a transparent Clip region in the layer.
  289.       Subsequent graphics calls will be clipped to this region.
  290.       Return a pointer to the previous Clip region.
  291.       See layers.doc for more details.
  292.  
  293.  
  294.  
  295.